﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using KPIS.GERP.GHRMS.MODEL;
 
namespace KPIS.GERP.GHRMS.IBLL
{
    public interface IAbsenceBLL
    {
        IList<hrm_ps_absence> GetAllAbsence(string bgm_year, string month, string emp_seq);
        Decimal GetSumAbsence(string record_status, string bgm_year, string month, string emp_seq);
        IList<hrm_ps_absence> GetAbsence(string working_date, string emp_seq);
        IList<AbsenceInfo> ListAbsences();
        IList<AbsenceInfo> ListAbsences(string Employee);
        IList<AbsenceInfo> ListAbsencesBySequence(int Sequence);
        IList<AbsenceInfo> TreeViewAbsences(string Employee, string JobSite);
        DataSet LoadAbsences(Nullable<int> Sequence, Nullable<int> EmpSequence);
	    DataSet GetEmployeeNameList(Nullable<int> EmpSequence);

        void Insert(string AbsenceType, string Employee, DateTime StartDate, string StartTime
                , DateTime EndDate, string EndTime, decimal CountDate, string ContactAddress
                , string ApprovedStatus, string ApprovedBy, string ApprovedPosition
                , Nullable<DateTime> ApprovedDate, string Remarks, int CreatedBy);
        void Update(int Sequence, string AbsenceType, string Employee, DateTime StartDate, string StartTime
                , DateTime EndDate, string EndTime, decimal CountDate, string ContactAddress
                , string ApprovedStatus, string ApprovedBy, string ApprovedPosition
                , Nullable<DateTime> ApprovedDate, string Remarks, int UpdatedBy);
        void Delete(int Sequence, int UpdatedBy);

        IList<hrm_ps_absence> GetAbsenceDays(string emp_seq);
    }
}
